#ifndef MTWHILESTATEMENT_H
#define MTWHILESTATEMENT_H

#include "MTStatement.hpp"
#include "MTBlock.hpp"

namespace MathematicaTranslator {

	/** 
	  *  "While" statement representation.
	  */
	class MTWhileStatement : public MTStatement {

	public:
		/// Stop conditions
		MTExpression &conditions;
		/// Body
		MTBlock &varList;
	
		MTWhileStatement(MTExpression &conditions, MTBlock &varList) : 
		conditions(conditions), varList(varList) {}

		virtual std::string* generateCode(CodeGenContext& context);
	};

}
#endif
